package com.triadsystems.cashweb.controle.mbean.impl;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Named;

import lombok.Getter;
import lombok.Setter;

import org.springframework.context.annotation.Scope;

import com.icon.infra.controle.utils.GenericoCRUDBean;
import com.triadsystems.cashweb.modelo.negocio.servicos.ICaixaServico;
import com.triadsystems.cashweb.modelo.persistencia.entidades.Caixa;

@Named
@Scope("session")
public class GerenciamentoBean extends GenericoCRUDBean<Caixa, Caixa> {

	@Inject
	private ICaixaServico caixaServico;

	@Getter @Setter
	private Caixa caixa;

	@Getter @Setter
	private List<Caixa> lista;
	
	@Getter @Setter
	private Date dataInicio;
	
	@Getter @Setter
	private Date dataFim;
	@Override
	@PostConstruct
	protected void inicializarAtributosManagedBean() throws Exception {
		lista = new ArrayList<Caixa>();
		caixa = new Caixa();
		dataInicio = new  Date();
		dataFim = new Date();
		
		setIsExibirLista(true);
	}

	@Override
	protected void damPrepareLista() throws Exception {
		Calendar dtInicio = Calendar.getInstance();
		dtInicio.setTime(dataInicio);
		
		Calendar dtFim = Calendar.getInstance();
		dtFim.setTime(dataFim);
		
		System.out.println("INICIO: " + dtInicio.getTime() + " FIM: " + dtFim.getTime());
		
		try {
			lista = (List<Caixa>) caixaServico.getCaixabyData(dtInicio, dtFim);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
